home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 September / CHIP Eylül 1998.iso / Slackwar / docs / slack-docs / bind / README < prev   
Text File  |  1996-05-09  |  14KB  |  391 lines

  1. v3.1   README3: A LINUX-TO-DEMON-INTERNET CONFIGURATION GUIDE   10/05/96  
  2.  
  3.        BIND: RUNNING A NAME SERVER UNDER SLACKWARE LINUX WITH DIS 
  4.        ==========================================================
  5.  
  6.      Copyright 1994-6 John A. Phillips.      john@linux.demon.co.uk
  7.  
  8. Please note that I don't really understand everything here, so some of
  9. the stuff below may be a little off-beam, but it works (so far) for me.
  10.  
  11. Actually I don't use a local name server myself.  I don't find it either
  12. necessary or helpful in my situation.  However, some people may find it
  13. useful.  Comments are welcome.  As usual, use this information here at
  14. your own risk.
  15.  
  16. Some of the files you need to install or modify are contained in the
  17. package, for you to copy directly into place.  See the list at the end
  18. of this README.  Configuration should be done as user "root".
  19.  
  20.  
  21. 3A Requirements and installation notes
  22. --------------------------------------
  23. From amongst the optional packages of disk set N, these are required for
  24. basic network set-up.  Other packages from disk set N may be needed in
  25. the other packages in this guide.  Please see the relevant README(s).
  26.  
  27.     bind        Required.  This is the name server package.
  28.  
  29. NOTE 1:  The name server in this package will be of little use in saving
  30. network traffic for name resolution if you re-boot your machine very
  31. frequently (about as often as you log in to Demon).  The name server
  32. cache is lost on shut-down and has to be re-generated from the network.
  33.  
  34. NOTE 2:  Off-line, processes such as mail and news posting may take
  35. longer to complete when you run a local name server, as name server time
  36. outs seem to take longer.
  37.  
  38. NOTE 3:  When running named I notice problems with netdate failing when
  39. the clock is being adjusted by setclock in the BASE package.  A cure is
  40. to do a "nslookup ntp.demon.co.uk" whilst on line (assuming this is your
  41. ntp server).  This caches the name and IP address.  Otherwise, set the
  42. ntp server in setclock to another Demon machine, such as
  43. demon-du.demon.co.uk.
  44.  
  45.  
  46. 3B The simplest possible set-up
  47. -------------------------------
  48. This is a  very simple cache-only client.  It is not authoritative at
  49. all (not even over localhost and 127.0.0.1).  I have been told this is a
  50. security risk (but not why).  However, it works.
  51.  
  52. Section 3C adds the SOA (Start of Authority) records for localhost and
  53. 127.0.0.1.  I recommend that you do this on the assumption that the
  54. advice I've heard about security is accurate.
  55.  
  56. Create directory /var/named (this is FSSTND compliant), and set up
  57. /etc/named.boot (or copy it in place from named.boot1 in the package):
  58.  
  59.  
  60. ; /etc/named.boot: boot file for name server
  61. ;
  62. directory /var/named
  63. ;
  64. ; type        domain            source file or host
  65. ;----------------------------------------------------------
  66. ;
  67. cache        .            named.root
  68. forwarders    158.152.1.58    158.152.1.43
  69.  
  70.  
  71. This file says that further configuration files are to be found in
  72. /var/named; that named.root contains "hints" about where to look things
  73. up (the "root" nameservers); and that the nameservers in the forwarders
  74. line (the demon nameservers) should be asked first if the cache does not
  75. contain the name being looked up.
  76.  
  77. It is perfectly ok to leave out the forwarders line.  The root
  78. nameservers will be asked first for the answers to queries about names.
  79. As the cache of names builds up, including nameserver entries, I think
  80. that more appropriate nameservers will subsequently be asked for
  81. information.
  82.  
  83. However including the forwarders line makes your system behave exactly
  84. like a system using the demon nameservers via the list in resolv.conf,
  85. except that the answers are cached, and the root nameservers are
  86. available as a backup.
  87.  
  88. Set up /var/named/named.root thus (or copy it into place from the
  89. package):
  90.  
  91.  
  92. ;       This file holds the information on root name servers needed to
  93. ;       initialize cache of Internet domain name servers
  94. ;       (e.g. reference this file in the "cache  .  <file>"
  95. ;       configuration file of BIND domain name servers).
  96. ;
  97. ;       This file is made available by InterNIC registration services
  98. ;       under anonymous FTP as
  99. ;           file                /domain/named.root
  100. ;           on server           FTP.RS.INTERNIC.NET
  101. ;       -OR- under Gopher at    RS.INTERNIC.NET
  102. ;           under menu          InterNIC Registration Services (NSI)
  103. ;              submenu          InterNIC Registration Archives
  104. ;           file                named.root
  105. ;
  106. ;       last update:    Nov 8, 1995
  107. ;       related version of root zone:   1995110800
  108. ;
  109. ;
  110. ; formerly NS.INTERNIC.NET
  111. ;
  112. .                        3600000  IN  NS    A.ROOT-SERVERS.NET.
  113. A.ROOT-SERVERS.NET.      3600000      A     198.41.0.4
  114. ;
  115. ; formerly NS1.ISI.EDU
  116. ;
  117. .                        3600000      NS    B.ROOT-SERVERS.NET.
  118. B.ROOT-SERVERS.NET.      3600000      A     128.9.0.107
  119. ;
  120. ; formerly C.PSI.NET
  121. ;
  122. .                        3600000      NS    C.ROOT-SERVERS.NET.
  123. C.ROOT-SERVERS.NET.      3600000      A     192.33.4.12
  124. ;
  125. ; formerly TERP.UMD.EDU
  126. ;
  127. .                        3600000      NS    D.ROOT-SERVERS.NET.
  128. D.ROOT-SERVERS.NET.      3600000      A     128.8.10.90
  129. ;
  130. ; formerly NS.NASA.GOV
  131. ;
  132. .                        3600000      NS    E.ROOT-SERVERS.NET.
  133. E.ROOT-SERVERS.NET.      3600000      A     192.203.230.10
  134. ;
  135. ; formerly NS.ISC.ORG
  136. ;
  137. .                        3600000      NS    F.ROOT-SERVERS.NET.
  138. F.ROOT-SERVERS.NET.      3600000      A     192.5.5.241
  139. ;
  140. ; formerly NS.NIC.DDN.MIL
  141. ;
  142. .                        3600000      NS    G.ROOT-SERVERS.NET.
  143. G.ROOT-SERVERS.NET.      3600000      A     192.112.36.4
  144. ;
  145. ; formerly AOS.ARL.ARMY.MIL
  146. ;
  147. .                        3600000      NS    H.ROOT-SERVERS.NET.
  148. H.ROOT-SERVERS.NET.      3600000      A     128.63.2.53
  149. ;
  150. ; formerly NIC.NORDU.NET
  151. ;
  152. .                        3600000      NS    I.ROOT-SERVERS.NET.
  153. I.ROOT-SERVERS.NET.      3600000      A     192.36.148.17
  154. ; End of File
  155.  
  156.  
  157. These are the top-level (root-domain) nameservers for the 'net.  The
  158. latest version of this file can be found on ftp.rs.internic.net in file
  159. /domain/named.root.
  160.  
  161. Uncomment the "named" stanza in /etc/rc.d/rc.inet2 to run named at boot
  162. time.
  163.  
  164.     ...
  165.     # Start the NAMED/BIND name server.
  166.     if [ -f ${NET}/named ]
  167.     then
  168.      echo -n " named"
  169.      ${NET}/named
  170.     fi
  171.     ...
  172.  
  173. Make sure /etc/host.conf is like this:
  174.  
  175.     order hosts, bind
  176.     multi on
  177.  
  178. This makes sure the look-up for 127.0.0.1 or localhost is satisfied from
  179. /etc/hosts (see below), because the cache-only non-authoritative
  180. nameserver (in this section) will not even answer this query.  If you
  181. have the dummy interface in the kernel and it is set up in rc.inet1,
  182. this will also allow /etc/hosts to resolve your own IP address and
  183. hostname queries as well even when you are not connected.
  184.  
  185. Make sure /etc/hosts has at least these entries (configured for your own
  186. hostname and IP address):
  187.  
  188.     # For looping back.
  189.     127.0.0.1    localhost
  190.  
  191.     # This machine.
  192.     AAA.BBB.CCC.DDD    <YOUR_HOST_NAME>.demon.co.uk    <YOUR_HOST_NAME>
  193.  
  194. If you have other demon machines in here, you can remove them, as named
  195. will put them into its cache and remember them for you.  If you keep
  196. names and addresses here, they will be used before the names and
  197. addresses in the cache (see /etc/host.conf), and any updates will not be
  198. automatically made. Just keep the router (now demon-du, I believe) if
  199. you are using DIP/CSLIP. PPP doesn't need it.
  200.  
  201. Some people have said that they prefer to leave key machine names in
  202. /etc/hosts because this speeds things up a bit.  Fair enough.  You can
  203. do this if you want.  If the machine addresses ever change (which may be
  204. unlikely for important machines), you can update them manually.
  205.  
  206. Make sure /etc/resolv.conf is like this:
  207.  
  208.     search . demon.co.uk
  209.     nameserver 127.0.0.1
  210.  
  211. The first line could be "search ." or "domain demon.co.uk" - see "man 5
  212. resolver" for the differences in name look-up behaviour.  I prefer
  213. "search . demon.co.uk", which looks up names as you supply them first,
  214. then tries adding .demon.co.uk if the first look-up fails.  This allows
  215. you to use "ping gate" for example, rather than having to use "ping
  216. gate.demon.co.uk".
  217.  
  218. The second line just points to the named on your own host as your
  219. system's name server.  I think other name servers (up to two more) could
  220. be added after "nameserver 127.0.0.1", and will be used in the event
  221. that your named goes down, but I haven't tried this.
  222.  
  223. That's it!  Reboot now or run named manually.
  224.  
  225. You can't for now run nslookup (to make manual queries about names) on
  226. your machine whilst it's not on the net, since nslookup does not seem to
  227. go through the resolver library, and named seems to need to resolve
  228. localhost and/or 127.0.0.1 first in order to work with nslookup.
  229. However calls via the resolver library (e.g. from "telnet localhost" or
  230. "ftp 127.0.0.1") will work through the resolver library asking
  231. /etc/hosts.
  232.  
  233. Errors and other informative comments from named are logged in the file
  234. /var/adm/syslog.
  235.  
  236. You can cause a running named to re-load its configuration files with
  237.  
  238.     killall -HUP named
  239.  
  240. The command /usr/sbin/named.reload does the same and could be used
  241. instead.
  242.  
  243. You can cause the current data cache and hints to be dumped to the file
  244. /var/tmp/named_dump.db with the command
  245.  
  246.     killall -INT named
  247.  
  248. It is instructive to do this and see the dump file on a newly started
  249. named, and then after a simple connection to Demon, and then again after
  250. a few FTPs to sites around the world.
  251.  
  252. A further command /usr/sbin/named.restart is also available to kill and
  253. then re-start named if you wish to do this.
  254.  
  255.  
  256. 3C Adding SOA records for localhost and 127.0.0.1
  257. -------------------------------------------------
  258. This section adds the bits to run a named that is basically a cache-only
  259. client but is authoritative over localhost (and 127.0.0.1).  The set-up
  260. is said to be more secure than the basic set-up in section 3B.
  261.  
  262. The set-up is installed as in section 3B, above, with the extras
  263. explained below.  I recommend you to follow this section as well.
  264.  
  265. Add a couple of extra lines (those starting with "primary") to the
  266. original /etc/named.boot to make it look like this (or install the
  267. named.boot file from the package as /etc/named.boot):
  268.  
  269.  
  270. ; /etc/named.boot: boot file for name server
  271. ;
  272. directory /var/named
  273. ;
  274. ; type        domain            source file or host
  275. ;----------------------------------------------------------
  276. ;
  277. cache        .            named.root
  278. primary        localhost        named.hosts
  279. primary        0.0.127.IN-ADDR.ARPA    named.local
  280. forwarders    158.152.1.58    158.152.1.43
  281.  
  282.  
  283. Create /var/named/named.hosts like this (or copy the file in the package
  284. into place):
  285.  
  286.  
  287. ; /var/named/named.hosts: local host
  288. ; origin is localhost. (see named.boot)
  289. ;
  290. @        IN    SOA    <HOST>.demon.co.uk. <NAME>.<HOST>.demon.co.uk. (
  291.                 94122401    ; serial number
  292.                 86400        ; refresh:    24 hours
  293.                 3600        ; retry:    1 hour
  294.                 3600000        ; expire:    42 days (approx)
  295.                 604800    )    ; minimum:    1 week
  296.         IN    NS    localhost.
  297. localhost.    IN    A    127.0.0.1
  298.  
  299.  
  300. Configure <HOST> as your hostname, <NAME> as your local e-mail address,
  301. as appropriate (this entry should look like an Internet e-mail address
  302. with the "@" replaced by ".".  Watch for the "."s at the end of names.
  303. They are important.
  304.  
  305. How do you choose the timeouts etc?  I copied them from examples.  Any
  306. comments would be welcome.
  307.  
  308. Create /var/named/named.local like this (or copy it into place from the
  309. package):
  310.  
  311.  
  312. ; /var/named/named.local: reverse mapping of 127.0.0
  313. ; origin is 0.0.127.in-addr.arpa. (see named.boot)
  314. ;
  315. @        IN    SOA    <HOST>.demon.co.uk. <NAME>.<HOST>.demon.co.uk. (
  316.                 94122401    ; serial number
  317.                 360000        ; refresh:    100 hours
  318.                 3600        ; retry:    1 hour
  319.                 3600000        ; expire:    42 days (approx)
  320.                 360000    )    ; minimum:    100 hours
  321.         IN    NS    localhost.
  322. 1        IN    PTR    localhost.
  323.  
  324.  
  325. Configure <HOST> as your hostname, <NAME> as your local e-mail address,
  326. as appropriate (this entry should look like an Internet e-mail address
  327. with the "@" replaced by ".".  Watch for the "."s at the end of names.
  328. They are important.
  329.  
  330. How do you choose the timeouts etc?  I copied them from examples.  Again
  331. any comments would be welcome.
  332.  
  333. That's it.  Start or re-start named.  
  334.  
  335. Now it is possible to have "order bind, hosts" in /etc/host.conf (if you
  336. want).  This allows /etc/hosts to be kept as a back-up rather than
  337. consulted first.  Actually I currently run my server as in section 3C,
  338. but I still use "order hosts, binds", and a vestigial /etc/hosts file
  339. just like the one in section 3B.
  340.  
  341. By the way, some people have advised me to be authoritative over
  342. localhost.demon.co.uk.  However I have checked that Demon's nameservers
  343. return the correct answer for this name (127.0.0.1), which is then
  344. cached. However, Demon's name servers certainly do not recognize just
  345. localhost.
  346.  
  347.  
  348. 3D  Conclusion
  349. --------------
  350. That's how it works for me.  As I said, I don't understand a lot of the
  351. "why's" yet, but the "how's" are in principle sorted (in the two
  352. simplest cases anyway).  I recommend Olaf Kirch's Linux Network
  353. Administration Guide (superb in general), but supplemented by something
  354. like the Sun Answerbook chapter 17, which for me sorted out a great deal
  355. of my confusion over named. The O'Reilly book on DNS and BIND is also a
  356. good source of information.
  357.  
  358. To return to using Demon's name servers, /etc/resolv.conf and
  359. /etc/host.conf should be restored to their original configurations from
  360. the BASE package.  If you want to make this permanent, you should also
  361. stop named from being run by /etc/rc.d/rc.inet2, and kill the current
  362. process.  The configuration files may be left in place.
  363.  
  364.  
  365. 3E  Bugs
  366. --------
  367. I still get occasional entries in /var/adm/syslog of the sort:
  368.  
  369.     Sep  3 05:04:25 linux named[47]: recvfrom: Connection refused
  370.  
  371. I believe this is cured by getting the latest bind package.
  372.  
  373.  
  374. 3F  Acknowledgments
  375. --------------------
  376. Thanks to John Man (jman@home.org) for helpful comments.
  377.  
  378.  
  379. 3F Files in this package
  380. ------------------------
  381.  
  382. File name (Slackware)                    Location in this package
  383. =====================                    ========================
  384. /var/named/named.root                    bind/named.root
  385. /var/named/named.local                   bind/named.local
  386. /var/named/named.hosts                   bind/named.hosts
  387. /etc/named.boot                          bind/named.boot1     (section 3B)
  388. /etc/named.boot                          bind/named.boot      (section 3C)
  389.  
  390. END OF README3
  391.